#ifndef __CABSTRACTCHARACTER_H_INCLUDED__
#define __CABSTRACTCHARACTER_H_INCLUDED__

typedef unsigned int uint;

class CAbstractCharacter
{
	enum ECharacterDirection
	{
		ECD_UP,
		ECD_DOWN,
		ECD_LEFT,
		ECD_RIGHT
	};

	struct SCharPosition
	{
		uint x;
		uint y;
	};

	SCharPosition m_position;

	uint m_lives;
	double m_movementSpeed;

protected:
	void setPosition(SCharPosition position);
	void setPosition(uint x, uint y);
	SCharPosition getPosition() const;

	void setLives(uint lives);

	void killed();

	void setMovementSpeed(double movementSpeed);

public:
	virtual void move() = 0;

};
#endif
